package com.lzy.cloud.search.client.service;

import com.lzy.cloud.search.client.entity.EsQuery;
import org.elasticsearch.action.search.SearchResponse;

/**
 * Created by WIN7 on 2018/5/23.
 */
public interface TermLevelQueriesService {
    /**
     * 单个词条匹配
     * @param esQuery
     * @return
     * @ 
     */
    SearchResponse termQuerys(EsQuery esQuery)  ;

    /**
     * 多个词条匹配
     * @param esQuery
     * @return
     * @ 
     */
    SearchResponse termsQuerys(EsQuery esQuery)  ;

    /**
     * 范围性匹配
     * @param esQuery
     * @return
     * @ 
     */
    SearchResponse rangeQuerys(EsQuery esQuery)  ;

    /**
     * 判断是否存在匹配
     * @param esQuery
     * @return
     * @ 
     */
    SearchResponse existsQuerys(EsQuery esQuery)  ;

    /**
     * 前缀匹配
     * @param esQuery
     * @return
     * @ 
     */
    SearchResponse prefixQuerys(EsQuery esQuery)  ;

    /**
     * 通配符查询匹配
     * @param esQuery
     * @return
     * @ 
     */
    SearchResponse wildcardQuerys(EsQuery esQuery)  ;

    /**
     * 正则表达式搜索
     * @return
     * @ 
     */
    SearchResponse regexpQuerys(EsQuery esQuery)  ;

    /**
     * 模糊匹配
     * @param esQuery
     * @return
     * @ 
     */
    SearchResponse fuzzyQuerys(EsQuery esQuery)  ;
}
